Method and an apparatus to control copying from a data providing device to a data receiving device

ABSTRACT

An MPEG board  6  issues the key data generated by the board to a DVD drive  4 . The DVD drive  4  generates enciphering key data on the basis of the key data, enciphers the provided data read from a DVD  2  on the basis of the key data, and sends it to the MPEG board  6 . The MPEG board  6  deciphers the enciphered provided data using the key data generated by the board.

This application is the national phase of international application PCT/JP96/03608 filed Dec. 11, 1996 which designated the U.S.

BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention relates to a copy control method and copy control apparatus applied to a data processing system having the function of reproducing and outputting data, such as movies or music, compressed by, for example, the MPEG 2 standard. Such data is referred to herein as “provided data.”

The present invention relates to a copy control method and copy control apparatus which, when recording and reproducing the data recorded on a large capacity recording medium, such as a CD-ROM or a DVD (digital video disk), as copied data, enables the reproduction of the copied data to be controlled by the specific control information recorded on the medium.

The present invention relates to a method of and apparatus for controlling the copying of data supplied by communicating through a computer system having the function of receiving provided data, such as movies or music, via communication means and reproducing and outputting the provided data.

2. Description of Related Art

For systems that reproduce and output data supplied from the film industry or the music industry, compressed by the MPEG 2 standard, copy protection techniques are required to prevent unauthorized copying.

When providing data by computer systems that reproduce and output the data, it is essential to establish highly reliable copy protection techniques capable of preventing unauthorized copying. These copy protection techniques must not be capable of being broken by computer processing.

With conventional copy protection techniques of this type, copy protection data is also recorded on a recording medium, such as a CD-ROM on which the provided data has been recorded, and the copy protection data, together with the provided data, is read and transferred to a copy protection unit, which performs a copy protection process on the provided data, thereby preventing unauthorized copying.

In conventional copy protection techniques, however, the copy protection process is not carried out until the provided data recorded on the disk has been transferred to the copy protection unit. This permits intentional unauthorized copying of the provided data in a system configurations having a computer acting as a transfer unit between the disk reading unit and reproducing unit.

As described above, with a conventional system where the provided data is exchanged via a computer, a highly reliable copy protection technique capable of preventing unauthorized copying has not been established. When a computer system is used that enables part of the provided data to be selectively read into the computer and used this leads to the problem of permitting the unauthorized copying of all of the provided data.

SUMMARY OF THE INVENTION

It is, an object of the present invention to overcome the disadvantages in the prior art by providing a highly reliable copy control method and copy control apparatus that reliably prevents unauthorized copying even when a computer intervenes in the exchange of data supplied from a large capacity recording medium, or the like (the “medium”).

Furthermore, it is an object of the present invention to provide a highly reliable copy control method and copy control apparatus that enable the medium to control copying ability arbitrarily on a provided data basis without showing key data used in enciphering and deciphering to a computer that intervenes in the exchange of data supplied from a medium. Such a copy control method and apparatus will always enable the use of the provided data through authorized copying.

In an embodiment of the present invention, when a device capable of copying, such as a computer, intervenes in the exchange of data supplied from a medium, the data read from the medium is enciphered by a specific key on the computer. It is then possible to control a decision as to whether to reproduce the copied data arbitrarily.

Furthermore, according to an embodiment of the present invention, a highly reliable copy control method and copy control apparatus enables a side having the medium to control reproduction of the copied data arbitrarily on a provided data basis without showing the key data used in enciphering and deciphering to a computer that intervenes in the exchange of data supplied from a medium. The copying control method and apparatus always enable the use of the provided data through authorized copying.

In an embodiment of the present invention, the action of recording the data supplied from the medium in a storage device, and reading and reproducing the recorded data is referred to as reproduction of the copied data.

Specifically, an embodiment of the present invention comprises, in a system provided with a drive for reading the data recorded on a large capacity recording medium, a data reproducing device for receiving the data read by the drive via data transfer means, reproducing the received data, and outputting the reproduced data, and means for recording the data transferred from the data transfer means as copied data. The data sent from the drive to the data transfer means is enciphered using the key data generated by the data reproducing device. Only the data reproducing device has the key data used in enciphering and is allowed to reproduce the copied data (i.e., is allowed to make a first generation copy).

Furthermore, an embodiment of the present invention comprises, in the above system, the drive and the data reproducing device each generating mutually related key data separately on the basis of random numbers, the drive enciphering the data to be outputted to the data transfer means using its self-generated key data, and the data reproducing device deciphering the data received from the data transfer means using its self-generated secondary key data, thereby permitting only the data reproducing device having the related key data to perform reproduction without giving to the data transfer means the key data used in enciphering and deciphering and disabling the reproduction of the copied data.

Furthermore, an embodiment of the present invention comprises, in the system, the drive and the data reproducing device recognizing the copy permission level on the basis of the specific control data recorded on the large capacity recording medium. When the recognized level is the level permitting the copied data to be reproduced, the data read by the drive is given to the data transfer means without enciphering. When the recognized level is the level permitting only a specific data reproducing device to reproduce the copied data, the data read by the drive is enciphered using the key data generated by the data reproducing device that is to perform reproduction and the enciphered data is given to the data transfer. When the recognized level is the level inhibiting the reproduction of the copied data, the drive and the data reproducing device temporarily generate mutually related key data using random numbers, thereby enabling only the data reproducing device having the related key data to reproduce the data read by the drive and disabling all of the data reproducing devices including one having the related key data from reproducing the copied data.

Furthermore, an embodiment of the present invention comprises, in a system including a data providing device for providing data via communication means, a data reproducing device for receiving data from the data providing device via the communication means, reproducing the received data, and outputting the reproduced data, and means for recording the data provided to the data reproducing device via the communication means as copied data. The data providing device receives key data from the data reproducing device and on the basis of the key data, enciphers the data to be given to the data reproducing device, thereby enabling only the data reproducing device having the key data used in enciphering to reproduce the copied data.

Furthermore, an embodiment of the present invention comprises, in the above system, the data providing device and the data reproducing device generating mutually related key data separately using random data, the data providing device enciphering the data to be sent to the data reproducing device using its self-generated enciphering key data, and the data reproducing device deciphering the data received from the data providing device using its self-generated deciphering key data, thereby enabling the data received via the communication means to be reproduced and disabling the copied data from being reproduced.

Furthermore, an embodiment of the present invention comprises, in the system, the data providing device sending copy permission data specifying the permission level of copied data to the data reproducing device, and the data reproducing device recognizing the permission level of the copy of the provided data on the basis of the copy permission data received from the data providing device. When the recognized level is the permission level enabling the copied data to be reproduced, the data to be provided is given without enciphering to the data reproducing device via the communication means. When the recognized level is the permission level enabling only a specific data reproducing device to reproduce the copied data, the key data is received from the data reproducing device and the provided data enciphered on the basis of the key data is given to the data reproducing device via the communication means, and when the recognized level is the permission level inhibiting the copied data from being reproduced, the data providing device and the data reproducing device temporarily generate mutually related key data using random data, and the provided data enciphered on the basis of the key data is given to the data reproducing device via the communication means.

With the aforementioned copy control mechanisms, even in a system where a device capable of copying, such as a computer, intervenes in the exchange of the data supplied by a large capacity recording medium, a communication medium, or the like, it is possible to construct a highly reliable system which enables the medium side to control the reproduction of the copied data on the provided data basis without showing the key data used in enciphering and deciphering to an intervening computer, and which always enables the provided data to be used in the form of an authorized copy.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a block diagram of a basic system configuration according to a first embodiment of the present invention;

FIG. 2 is a block diagram of a system configuration according to a second embodiment of the present invention;

FIG. 3 is a flowchart for the processing sequence in the second embodiment of the present invention;

FIG. 4 is a flowchart for the processing sequence in the second embodiment of the present invention;

FIG. 5 is a flowchart for the processing sequence in the second embodiment of the present invention;

FIG. 6 is a flowchart for the processing sequence in the second embodiment of the present invention;

FIG. 7 shows a data format to help explain the copy permission data (CGMS) in the media file management data block recorded on the data recording medium 20 in the embodiment of the present invention;

FIG. 8 is a conceptual diagram to help explain the way that the drive unit, CPU, and reproducing unit exchange various types of data for encoding and decoding data transferred between them in a third embodiment of the present invention;

FIG. 9 is a system block diagram in the third embodiment of the present invention; and

FIG. 10 is a flowchart showing the way that the drive unit, CPU, and reproducing unit exchange various types of data for encoding and decoding between them in the third embodiment of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

Hereinafter, referring to the accompanying drawings, embodiments of the present invention will be explained.

FIG. 1 is a block diagram showing the basic system configuration according to a first embodiment of the present invention. The figure illustrates an embodiment that permits a first-generation copy in such a manner that, with the provided data, such as movies or music, recorded on a large capacity storage medium (DVD2) being the object of copy protection, only a data reproducing unit (MPEG board 6) having the enciphered key data is allowed to copy and reproduce the data read by a drive (DVD drive 4) by enciphering the provided data supplied from the drive (DVD drive 4) to data transfer means (PC1), using the key data generated in the data reproducing unit (MPEG board 6).

In FIG. 1, a computer (PC) 1 transfers or supplies the provided data read by the drive to the data reproducing unit. The computer I selectively takes in the copy-permitted provided data read by the drive, stores it in an external storage unit 3, such as an HDD or a DVD-RAM, and enables processes, including editing and correction.

A DVD disk 2 stores provided data, such as movies or music, that is the object of copy protection. On the DVD 2, not only the provided data is compressed and recorded by, for example, the MPEG 2 scheme, but also the copy permission data (CGMS) as shown in FIG. 7 is recorded in part of the media file management data block so as to correspond to the provided data.

A drive unit 4 reads the data from the DVD 2. The drive unit 4 is referred to as the DVD drive. The DVD drive 4 has the function of receiving the key data generated in the data reproducing unit and enciphering the provided data read by the DVD 2 using the key data. A concrete configuration of the function is shown in FIG. 2.

A data reproducing unit 6 receives the provided data read by the DVD drive 4 via the computer unit (PC) 1 and performs reproducing and outputting processes. The data reproducing unit 6 may be referred to as an MPEG board. The MPEG board 6 is provided with a MPEG 2 decoder and obtains the reproduced output data by decoding the provided data compressed by the MPEG 2 scheme received via the computer unit (PC) 1. Moreover, the MPEG board 6 has the function of not only creating key data and sending the key data to the DVD drive 4 but also deciphering the provided data using the key data. A concrete configuration of the function is shown in FIG. 2.

In the configuration of FIG. 1, the MPEG board 6 not only issues the key data generated at the board 6 to the DVD drive 4, but also holds the key data as a deciphering key.

The DVD drive 4 generates an enciphering key using the key data and enciphers the provided data read by the DVD 2, and thereafter sends the enciphered data to the MPEG board 6 via the computer unit (PC) 1.

The MPEG board 6 receives the provided data enciphered by the DVD drive 4 via the computer unit (PC) 1 and decodes the enciphered data using the deciphering key.

Providing such a copy control mechanism enables only the MPEG board 6 having the key data used in enciphering to record and reproduce the data read by the DVD drive 4 as copied data.

Specifically, when the DVD drive 4 performs one type of enciphering on a type of (or a piece of) provided data, even if a plurality of data reproducing units are connected via a data transfer unit, those, except for the data reproducing unit having the key data used in enciphering, cannot reproduce the copied data.

In the concrete configuration, the key data sent from the MPEG board 6 to the DVD drive 4 is enciphered. In addition, in the concrete configuration, exclusive control of copying in the embodiment is selectively effected according to the copy permission data (CGMS). As a concrete example, in FIG. 7, when b0 and b1 in the CGMS are “01,” the aforementioned exclusive control of copying is possible.

FIG. 2 is a block diagram showing a system configuration in a second embodiment of the present invention. The second embodiment realizes a system having the function of, according to the copy permission data (CGMS) recorded on a large capacity recording medium, selectively switching between the copy permission level of copy free, at which all of the data reproducing units are allowed to reproduce the copied data obtained by once recording the provided data read by the drive, the level at which only a specific data reproducing unit is allowed to reproduce the copied data, and the level at which none of the data reproducing units are allowed to reproduce the copied data.

In FIG. 2, reference symbols 10 and 10A indicate the component parts corresponding to the computer unit (PC) 1 shown in FIG. 1. A CPU 10 of a computer body supervises control of the entire system. 10A indicates a system bus for the entire system. Under the control of the CPU 10, the copy control processing as shown in FIGS. 3 to 6 is executed. The CPU 10 selectively takes in the provided data permitted to copy read by a drive unit 40 from a data recording medium 20, stores it in a storage unit 30, and enables processes, including editing and correction.

A data recording medium 20 corresponds to a DVD 2. On the data recording medium, not only the provided data is compressed and recorded by the MPEG 2 scheme, but also the copy permission data (CGMS), as shown in FIG. 7, is recorded in part of the media file management data block so as to correspond to the provided data.

A storage unit 30 corresponds to the external storage unit 3 of FIG. 1. The storage unit is used to store, edit, and correct the copied data.

A drive unit 40 corresponds to the DVD drive 4 of FIG. 1. The drive unit 40 reads the data from the data recording medium 20. The drive unit 40 comprises cipher generator units 41, 44, registers 42, 43, 45, 48, 51 for storing an enciphering key, a reading unit 46, enciphering units 47, 49, and a deciphering unit 50.

The cipher generator unit 41 generates an enciphering key (1) on the basis of a random value obtained from a random number generator.

The register 42 holds the enciphering key (1) generated by the cipher generator unit 41. The register 43 holds the enciphering key (2) received from a reproducing unit 60 via the system bus 10A.

The cipher generator unit 44 generates an enciphering key (3) using the enciphering key (1) and enciphering key (2). The register 45 holds the enciphering key (3) generated by the cipher generator unit 44.

The reading unit 46 reads the data recorded on the data recording medium 20. Here, the reading unit reads not only the provided data, such as movies or music, the object of copy control, but also the copy permission data (CGMS) as shown in FIG. 7, indicating the copy permission level of the provided data.

According to the copy permission data (CGMS), the enciphering unit 47 enciphers the provided data read from the data recording medium 20 using the enciphering key (3) stored in the register 45 or the provided data enciphering key (5) stored in the register 51, or sends the provided data without enciphering it, to the reproducing unit 60 via the system bus 10A.

The register 48 holds the copy permission data (CGMS) read from the data recording medium 20. The enciphering unit 49 enciphers the copy permission data (CGMS) stored in the register 48 and sends the enciphered data to the reproducing unit 60 via the system bus 10A.

The deciphering unit 50 deciphers the enciphered provided data using the enciphering key (5), unique to the unit, received from the enciphering unit 70. The register 51 holds the enciphering key (5) deciphered by the deciphering unit 50.

A unit 60 reproduces the provided data and corresponds to the MPEG board 6. The reproducing unit 60 includes an MPEG decoder and obtains the reproduced output data by decoding the provided data compressed by the MPEG 2 scheme received via the system bus 10A. Here, the reproducing unit comprises cipher generator units 61, 64, registers 62, 63, 65, 69, 71, 72 for storing enciphering keys, deciphering units 66, 67, an MPEG 2 decoder 68, and an enciphering unit 70.

The cipher generator unit 61 generates an enciphering key (2) on the basis of a random value obtained from a random number generator.

The register 62 holds the enciphering key (1) received from drive unit 40 via the system bus 10A. The register 63 holds the enciphering key (2) generated at the cipher generator unit 61.

The cipher generator unit 64 generates an enciphering key (4) using the enciphering key (1) and enciphering key (2). The register 65 holds the enciphering key (4) generated by the cipher generator unit 64.

The deciphering unit 66 decodes the enciphered copy permission data (CGMS) received from the drive unit 40 via the system bus 10A in the computer body.

According to the copy permission data (CGMS) stored in the register 71, the deciphering unit 67 deciphers the provided data received from the drive unit 40 via the system bus 10A in the computer body, using the enciphering key (4) stored in the register 65 or the provided data deciphering key (6) stored in the register 72, or sends the provided data without deciphering it, to the MPEG 2 decoder 68.

The MPEG 2 decoder 68 decodes the provided data deciphered at the deciphering unit 67 and sends to the controller 80 the provided data that can be reproduced and outputted.

The register 69 holds the provided data enciphering key (5) which is unique to the unit. The enciphering unit 70 enciphers the provided data enciphering key (5), unique to the unit, stored in the register 69 and sends the enciphered data to the drive unit 40.

The register 71 holds the copy permission data (CGMS) deciphered at the deciphering unit 66.

The register 72 holds the provided data deciphering key (6) paired with the provided data enciphering key (5) (e.g., both the keys have values in common), unique to the unit, stored in the register 69.

A display controller 80 displays the provided data outputted from the MPEG 2 decoder 68 on a display unit 81.

The key values in the registers 45, 65 are cleared once, at least at the beginning or end of reproduction, and are rewritten. The key values in the registers 69, 72 may be rewritten at the beginning of reproduction, for example, instead of being fixed values.

FIGS. 3 to 6 are flowcharts showing the processing sequence in the second embodiment of the present invention. FIGS. 3 and 4 are flowcharts showing the sequence of setting various types of key data for the enciphering and deciphering processes. FIGS. 5 and 6 are flowcharts showing the copy control processing sequence for reading the provided data.

FIG. 7 illustrates a data format to help explain the copy permission data (CGMS) in the media file management data block recorded on the data recording medium 20. Here, when b0, b1 in the CGMS are “00,” all of the reproducing units 60 are allowed to reproduce the copied data; when b0, b1 are “01,” only the reproducing unit used in reading the provided data is allowed to reproduce the copied data exclusively; and when b0, b1 is “11,” none of the reproducing units is allowed to reproduce the provided data.

Now, the operation of the second embodiment of the present invention will be described by reference to FIGS. 2 to 7.

First, the process of setting various types of key data for the enciphering and deciphering processes will be described by reference to the flowcharts shown in FIGS. 3 and 4.

As a result of system start-up by a reproduction instruction, the cipher generator unit 41 in the drive unit 40 generates the enciphering key (1) on the basis of a random value (step 40 a in FIG. 3).

The enciphering key (1) generated by the cipher generator unit 41 is not only stored in the register 42 but also set in the register 62 in the reproducing unit 60 under the control of the CPU 10 (step 10 a in FIG. 3 and step 60 a in FIG. 4).

The cipher generator unit 61 in the reproducing unit 60 generates an enciphering key (2) on the basis of a random value (step 60 b in FIG. 4).

The enciphering key (2) generated at the cipher generator unit 61 is not only stored in the register 63 but also set in the register 43 in the drive unit 40 under the control of the CPU 10 (steps 10 b and 40 b in FIG. 3).

The cipher generator unit 44 in the drive unit 40 generates an enciphering key (3) using the enciphering key (1) stored in the register 42 and the enciphering key (2) stored in the register 43 and then sets it in the register 45 (step 40 c in FIG. 3).

The cipher generator unit 64 in the reproducing unit 60 generates an enciphering key (4) using the enciphering key (1) stored in the register 62 and the enciphering key (2) stored in the register 63 and then sets it in the register 65 (step 60 c in FIG. 4).

The reading unit 46 in the drive unit 40 reads the copy permission data (CGMS) from the data recording medium 20 and sets it in the register 48 (step 40 d in FIG. 3).

The enciphering unit 49 enciphers the copy permission data (CGMS) set in the register 48, using the enciphering key (3) stored in the register 45 (step 40 e in FIG. 3). The enciphered copy permission data (CGMS) is given to the deciphering unit 66 in the reproducing unit 60 under the control of the CPU 10 (step 10 c in FIG. 3).

The deciphering unit 66 deciphers the enciphered copy permission data (CGMS) received from the drive unit 40, using the enciphering key (4) stored in the register 65, and then sets it in the register 71 (step 60 d in FIG. 4).

The control unit (not shown) in the reproducing unit 60 determines the contents of the copy permission data (CGMS) stored in the register 71. When determining that b0, b1 in the copy permission data (CGMS) are “01” and therefore recognizing that only the reproducing unit used in reading the provided data is allowed to reproduce the copied data exclusively, the control unit starts up the enciphering unit 70 (step 60 e (Yes) in FIG. 4).

Then, the enciphering unit 70 enciphers the provided data enciphering key (5) unique to the unit fixedly stored in the register 69, using the enciphering key (4) stored in the register 65 (step 60 g in FIG. 4).

When b0, b1 in the copy permission data (CGMS) are not “01,” dummy data (a null value) is generated in place of the provided data enciphering key (5) (step 60 f in FIG. 4).

The CPU 10 transfers the enciphered provided data enciphering key (5), unique to the unit, or the dummy data substituting for that key to the deciphering unit 50 in the drive unit 40 (step 10 d in FIG. 3).

The deciphering unit 50 deciphers the enciphered provided data enciphering key (5), unique to the unit, received from the reproducing unit 60 and then sets the deciphered data in the register 51.

The above process completes the process of setting various types of key data for the enciphering and deciphering processes.

Next, the copy control process in reading the provided data will be described by reference to the flowcharts in FIGS. 5 and 6.

The CPU 10 gives the drive unit 40 an instruction to read the provided data (step S1 in FIG. 5).

Receiving a read instruction from the CPU 10, the control unit (not shown) in the drive unit 40 starts up the reading unit 46. The reading unit 46 provides drive control of the data recording medium 20 and reads the provided data (MPEG 2 data) and the copy permission data (CGMS) from the data recording medium 20 (step S2 in FIG. 5).

The copy permission data (CGMS) read from the data recording medium 20 is stored in the register 48 and then is supplied to the enciphering unit 47.

The enciphering unit 47 determines the contents of the copy permission data (CGMS) stored in the register 48. When determining that b0, b1 in the CGMS are “00,” the enciphering unit outputs (passes) the provided data directly without enciphering the provided data. When they are “01,” the enciphering unit enciphers the provided data using the provided data enciphering key (5), unique to the unit, stored in the register 51. When they are “11,” the enciphering unit enciphers the provided data using the enciphering key (3) stored in the register 45 (steps S3 to S7 in FIG. 5).

The provided data (MPEG 2 data) outputted from the enciphering unit 47 is transferred to the deciphering unit 67 in the reproducing unit 60 via the system bus 10A (step S8 in FIG. 5).

When receiving the provided data (MPEG 2 data) from the enciphering unit 47 in the drive unit 40, the deciphering unit 67 in the reproducing unit 60 determines the contents of the copy permission data (CGMS) stored in the register 71. When determining that b0, b1 in the CGMS are “00,” the deciphering unit outputs (passes) the provided data directly without deciphering the provided data. When they are “01,” the deciphering unit deciphers the provided data using the provided data enciphering key (6), unique to the unit, stored in the register 72. When they are “11,” the deciphering unit deciphers the provided data using the enciphering key (4) stored in the register 65 (steps S11 to S16 in FIG. 6).

In this case, when b0, b1 in the copy permission data (CGMS) are “00,” the CPU 10 can reproduce and output the copied data arbitrarily, without specifying a reproducing unit, by loading the provided data (MPEG 2 data) into the storage unit 30.

When b0, b1 in the copy permission data (CGMS) are “01,” loading the provided data (MPEG 2 data) into the storage unit 30 enables only the reproducing unit 60 having the provided data enciphering key (6), unique to the unit, paired with the provided data enciphering key (5), unique to the unit, used in the enciphering process to reproduce the copied data.

In this case, when the copied data, together with the enciphering key (6) stored in the register 72, is stored in the storage unit 30, the corresponding copied data can be reproduced by reading the stored key data and resetting it in the register 72, even if the key value in the register 72 is rewritten in a later reproducing process.

When b0, b1 in the copy permission data (CGMS) is “11,” the copied data cannot be deciphered because the value of the enciphering key (4) has already changed at the time of reproduction, even if the provided data (MPEG 2 data) is loaded as the copied data into the storage unit 30. As a result, none of the reproducing units can reproduce the copied data.

By setting new key values in the registers 69, 72 or the registers 45, 65 each time the contents of the copy permission data (CGMS) are changed, a highly reliable copy protection mechanism enabling accurate permission control on a given data amount basis can be implemented.

As described above, with the configuration that enables each item of the provided data (each title of the movies or music) to be enciphered and prevents a computer or the like from reading the data easily, highly reliable copy control of provided data most suitable for computer processing is established.

Since only the data reproducing unit used in reading is allowed to reproduce a copy of the data read by a computer or the like, this enables authorized use of the copied data and prevents unauthorized use of the copied data.

Hereinafter, a third embodiment of the present invention will be explained by reference to FIGS. 8 to 10.

First, a CPU 10 sends a “START AUTHENTICATION” command to a drive unit 90 (step S41). In response to the “START AUTHENTICATION” command, the RANID generator unit in the drive unit 90 causes a random generator to generate a random number and to send the generated random number as RANID to the CPU 10 (steps S21, S23). The RANID is an ID for identifying one MPEG board, when there are a plurality of MPEG boards acting as reproducing units, for example. The CPU 10 acquires the RANID from the drive unit 90 and sends it to the reproducing unit 120. The reproducing unit 120 causes a CHKEY 1 generator unit 121 to encipher the RANID using algorithm A, generate CHKEY 1, hold it, and send it to the CPU 10 (steps S71, S73). The CHKEY 1 is a key for identifying an MPEG board or a disk drive unit. The CPU 10 acquires the CHKEY 1 from the reproducing unit 120 and transfers it to the drive unit 90 (step S45). The drive unit 90 causes an enciphering unit 95 to encipher the CHKEY 1 using algorithm B, generate KEY 1, hold it, and send it to the CPU 10 (steps S25, 27). The CPU 10 acquires the KEY 1 from the drive unit 90 and transfers it to the reproducing unit 120. The reproducing unit 120 causes a cipher generator unit 123 to encipher the held CHKEY 1 using algorithm B, generate KEY 1, and compare it with the KEY 1 acquired from the CPU. If the comparison result shows that they coincide with each other, this means that the authentication of the drive unit by the reproducing unit has finished correctly.

Furthermore, the drive unit 90 causes the cipher generator unit 99 to encipher the held KEY 1 using algorithm C, generate KEY 2, hold it, and send it to the CPU (step,S29). The CPU 10 acquires the CHKEY 2 from the drive unit 90 and transfers it to the reproducing unit 120. If the comparison result at step S75 shows that they coincide with each other, the reproducing unit 120 causes the cipher generator unit 129 to encipher the CHKEY 2 sent from the CPU using algorithm D, generate KEY 2, hold the KEY 2, and send it to the CPU 10. The CPU 10 acquires the KEY 2 from the reproducing unit 120 and transfers it to the drive unit (step S49). The drive unit causes the cipher generator unit 101 to encipher the held KEY 2 using algorithm D and generate KEY 2 and causes a comparison circuit 105 to compare the KEY 2 with the KEY 2 acquired from the CPU (steps S29, S31). If the comparison result shows that they coincide with each other, this means that the drive unit has authenticated the reproducing unit properly. As a result, the mutual authentication between the drive unit and the reproducing unit has been completed. Then, the drive unit causes the enciphering unit 113 to encipher the DISK KEY and the TITLE KEY using the KEY 1, KEY 2, and algorithm E and send the enciphered data to the CPU (step S33). The CPU acquires the enciphered DISK KEY and TITLE KEY from the drive unit and sends it to the reproducing unit (step S51). The reproducing unit causes the deciphering unit 137 to decipher the enciphered DISK KEY and TITLE KEY using the KEY 1, KEY 2, and algorithm E. Explanation of the copy permission data will not be given, because it is the same as in the second embodiment.

As described above, with the embodiment of the present invention, it is possible to construct a highly reliable system which allows a side having a medium to control use of copy arbitrarily on a provide data basis without showing the key data used in enciphering and deciphering to a computer unit, even in a system where the computer unit intervenes in the exchange of data supplied from a large capacity recording medium or the like, and which always enables use of the provided data through authorized copying.

While in the embodiment, a large capacity disk, such as a DVD or a CD-ROM, requiring a drive unit has been taken as an example of a data providing medium, the present invention may be applied to a system configuration where a data providing medium is provided externally via, for example, a communication channel, in the same manner as in the above embodiment. This configuration can be implemented easily by providing an external data providing unit that communicates with the individual component parts of the drive unit 40, except for the reading unit in FIG. 2, and by replacing the signal paths represented by broken lines in FIG. 2 with communication paths.

While in the embodiment, the copy permission data (CGMS) and the provided data enciphering key (5), unique to the unit, are enciphered and then transferred, they are not necessarily enciphered. They may not be enciphered, depending on the degree of reliability required.

While in the second embodiment, the drive unit 40 and reproducing unit 60 each generate the primary key data on the basis of random data, the present invention is not restricted this. For instance, at least either the drive unit 40 or the reproducing unit 60 may generate the primary key data on the basis of random data, and on the basis of the primary key data, the drive unit 40 and reproducing unit 60 each generate temporary secondary key data by themselves. The essential thing is that the drive unit and data reproducing unit have only to temporarily generate the mutually related key data using random data.

Furthermore, while in the embodiment, the provided data enciphering key (5), unique to the unit, and the provided data deciphering key (6), unique to the unit, are provided independently in the reproducing unit 60 and are stored in the registers 69 and 79 separately, the present invention is not limited to this. For instance, common key data may be used for both the provided data enciphering key (5) and deciphering key (6), unique to the unit. The essential thing is that the reproducing unit 60 has only to grasp the enciphering scheme of the inputted provided data and the contents of the enciphering key in order to decipher the inputted provided data.

Still furthermore, while in the second embodiment, the copy control mechanism permits a first generation copy in such a manner that only the reproducing unit 60 having the provided data enciphering key (6), unique to the unit, paired with the provided data enciphering key (5), unique to the unit, used in enciphering is allowed to reproduce the copy, and the copy control mechanism which prevents all of the reproducing units from reproducing the copy are used selectively, the present invention is not limited to this. For instance, the copy permission modes may be combined arbitrarily as follows: the copy permission mode of free copy and the copy permission mode that prevents all of the reproducing units from reproducing the copy may be combined; or the copy permission mode of free copy and the copy permission mode of first generation copy may be combined.

Still furthermore, while in the embodiments, the system in which a computer intervenes in the exchange of the data provided from a large capacity recording medium, communication medium, or the like has been used, the present invention is not restricted to this, but may be applied to a system configuration in which a computer does not intervene directly in the exchange of the provided data. For instance, the copy control mechanism may be applied to the interface section between units capable of reproducing the provided data, between a drive that reads the provided data from an MD, a CD-ROM, or a DVD, or a communication medium having the function of transmitting the provided data, and a unit that reproduces the read-out data.

Still furthermore, while in the embodiments, the provided data, such as movies or music, compressed by the MPEG 2 standard has been used, the present invention is not limited to this. For instance, the present invention may be applied to a system configuration capable of reproducing the data compressed by the MPEG 1 or MPEG 4 standard.

While in the embodiments, the provided data recorded on the recording medium was raw data, all of the provided data may be enciphered and recorded on a recording medium or only part of the provided data may be enciphered and recorded on a recording medium. 

What is claimed is:
 1. A data copy control method applied to a system having a data receiving device which receives, via a communication mechanism, data read out by a data providing device, said method comprising: producing at least two shared keys in each of the data providing device and the data receiving device; enciphering, according to copy control data read out by the data providing device, the data read out by the data providing device using at least one of the at least two shared keys, and transferring the enciphered data and the copy control data to the data receiving device via the communication mechanism, said enciphering comprising determining which one of the at least two shared keys to use in accordance with a value of the copy control data, the copy control data specifying a copy permission value; and deciphering the enciphered data using at least the copy control data received by the data receiving device via the communication mechanism and the one of the at least two shared keys, wherein said producing comprises: generating a first key based on a first random value in the data providing device; generating a second key based on a second random value in the data receiving device; exchanging the first and the second keys between the data providing device and the data receiving device via the communication mechanism; and producing a first one of the shared keys in each of the data providing device and the data receiving device using the first and the second keys generated and exchanged, and wherein said determining comprises determining to use the first one of the shared keys when the copy control data indicates that no device is allowed to reproduce a copy.
 2. A data copy control method applied to a system having a data receiving device which receives, via a communication mechanism, data read out by a data providing device, said method comprising: producing at least two shared keys in each of the data providing device and the data receiving device; enciphering, according to copy control data read out by the data providing device, the data read out by the data providing device using at least one of the at least two shared keys, and transferring the enciphered data and the copy control data to the data receiving device via the communication mechanism, said enciphering comprising determining which one of the at least two shared keys to use in accordance with a value of the copy control data, the copy control data specifying a copy permission value; deciphering the enciphered data using at least the copy control data received by the data receiving device via the communication mechanism and the one of the at least two shared keys, wherein said producing comprises: generating a first key based on a first random value in the data providing device; generating a second key based on a second random value in the data receiving device; exchanging the first and the second keys between the data providing device and the data receiving device via the communication mechanism; and producing a first one of the shared keys in each of the data providing device and the data receiving device using the first and the second keys generated and exchanged; generating a third key based on a value in the data receiving device; enciphering the third key using the one of the at least two shared keys; and transferring the enciphered third key from the data receiving device to the data providing device, and producing a second one of the shared keys in the data providing device being equal to the third key of the data receiving device, the third key of the data receiving device to be used as a second one of the shared keys in the data receiving device, wherein said determining comprises determining to use a second one of the shared keys when the copy control data indicates that only a device used in reading the data is allowed to reproduce a copy.
 3. A data copy control apparatus for a system having a data receiving device which receives, via a communication mechanism, data read out by a data providing device, said apparatus comprising: a shared keys producing mechanism to produce at least two shared keys in each of the data providing device and the data receiving device; an enciphering mechanism to encipher, according to copy control data read out by the data providing device, the data read out by the data providing device using at least one of the at least two shared keys, the copy control data specifying a copy permission value; a transferring mechanism to transfer the enciphered data and the copy control data to the data receiving device via the communication mechanism; a deciphering mechanism to decipher the enciphered data using at least the copy control data received by the data receiving device via the communication mechanism and the one of the at least two shared keys, wherein said enciphering mechanism comprises a determining mechanism to determine which one of the at least two shared keys to use in accordance with a value of the copy control data, wherein said shared keys producing mechanism further comprises: a first producing mechanism to generate a first key based on a first random value in the data providing device; a second producing mechanism to generate a second key based on a second random value in the data receiving device; an exchanging mechanism to exchange the first and the second keys between the data providing device and the data receiving device via the communication mechanism; and a third producing mechanism to produce a first shared key in each of the data providing device and the data receiving device using the first and the second keys generated and exchanged; a fourth producing mechanism to produce a third key based on a third value in the data receiving device; a second enciphering mechanism to encipher the third key using the first shared key; and a second transferring mechanism to transfer the enciphered third key from the data receiving device to the data providing device, and to produce a second shared key in the data providing device, the third value in the data receiving device serving as a second shared value in the data receiving device, wherein said determining mechanism comprises a second determining mechanism to determine to use a first shared key of the at least two shared keys when the copy control data indicates that no device is allowed to reproduce a copy.
 4. A data copy control apparatus for a system having a data receiving device which receives, via a communication mechanism, data read out by a data providing device, said apparatus comprising: a shared keys producing mechanism to produce at least two shared keys in each of the data providing device and the data receiving device; an enciphering mechanism to encipher, according to copy control data read out by the data providing device, the data read out by the data providing device using at least one of the at least two shared keys, the copy control data specifying a copy permission value; a transferring mechanism to transfer the enciphered data and the copy control data to the data receiving device via the communication mechanism; a deciphering mechanism to decipher the enciphered data using at least the copy control data received by the data receiving device via the communication mechanism and the one of the at least two shared keys, wherein said enciphering mechanism comprises a determining mechanism to determine which one of the at least two shared keys to use in accordance with a value of the copy control data, wherein said shared keys producing mechanism further comprises: a first producing mechanism to generate a first key based on a first random value in the data providing device; a second producing mechanism to generate a second key based on a second random value in the data receiving device; an exchanging mechanism to exchange the first and the second keys between the data providing device and the data receiving device via the communication mechanism; and a third producing mechanism to produce a first shared key in each of the data providing device and the data receiving device using the first and the second keys generated and exchanged; a fourth producing mechanism to produce a third key based on a third value in the data receiving device; a second enciphering mechanism to encipher the third key using the first shared key; and a second transferring mechanism to transfer the enciphered third key from the data receiving device to the data providing device, and to produce a second shared key in the data providing device, the third value in the data receiving device serving as a second shared value in the data receiving device, wherein said determining mechanism comprises a second determining mechanism to determine to use a second shared key of the at least two shared keys when the copy control data indicates that only a device used in reading the data is allowed to reproduce a copy.
 5. A data copy control method applied to a system having a data receiving device which receives, via a communication mechanism, data read out by a data providing device, said method comprising: producing at least one shared key in each of the data providing, device and the data receiving device, said producing comprising: generating a first key based on a first random value in the data providing device, generating a second key based on a second random value in the data receiving device, exchanging the first and the second keys between the data providing device and the data receiving device via the communication mechanism, and generating a first shared key of the at least one shared key in each of the data providing device and the data receiving device using the first and the second keys generated and exchanged; enciphering copy control data read out by the data providing device using one of the at least one shared key, and transferring the enciphered copy control data to the data receiving device via the communication mechanism, deciphering the enciphered copy control data received by the data receiving device via the communication mechanism using the one of the at least one shared key, and determining to use the first shared key when the copy control data indicates that no device is allowed to reproduce a copy.
 6. A data copy control method applied to a system having a data receiving device which receives, via a communication mechanism, data read out by a data providing device, said method comprising: producing at least one shared key in each of the data providing device and the data receiving device, said producing comprising: generating a first key based on a first random value in the data providing device, generating a second key based on a second random value in the data receiving device, exchanging the first and the second keys between the data providing device and the data receiving device via the communication mechanism, and generating a first shared key of the at least one shared key in each of the data providing device and the data receiving device using the first and the second keys generated and exchanged; producing a third key based on a third value in the data receiving device; enciphering the third key using the first shared key; transferring the enciphered third key from the data receiving device to the data providing device, and generating a second shared key in the data providing device, the third key in the data receiving device serving as a second shared key in the data receiving device; enciphering copy control data read out by the data providing device using one of the at least one shared key, and transferring the enciphered copy control data to the data receiving device via the communication mechanism, the copy control data specifying a copy permission value; deciphering the enciphered copy control data received by the data receiving device via the communication mechanism using the one of the at least one shared key; and determining to use the second shared key when the copy control data indicates that only a device used in reading the data is allowed to reproduce a copy.
 7. A data copy control apparatus for a system having a data receiving device which receives, via a communication mechanism, data read out by a data providing device, said apparatus comprising: a producing mechanism to produce at least one shared key in each of the data providing device and the data receiving device, the producing mechanism comprising: a first generating mechanism to generate a first key based on a first random value in the data providing device, a second generating mechanism to generate a second key based on a second random value in the data receiving device, an exchanging mechanism to exchange the first and the second keys between the data providing device and the data receiving device via the communication mechanism, and a third generating mechanism to generate a first shared key in each of the data providing device and the data receiving device using the first and the second keys generated and exchanged; an enciphering mechanism to encipher copy control data read out by the data providing device using one of the at least one shared key, and transferring the enciphered copy control data to the data receiving device via the communication mechanism; a deciphering mechanism to decipher the enciphered copy control data received by the data receiving device via the communication mechanism using the one of the at least one shared key; and a determining mechanism to determine to use the first shared key when the copy control data indicates that no device is allowed to reproduce a copy.
 8. A data copy control apparatus for a system having a data receiving device which receives, via a communication mechanism, data read out by a data providing device, said apparatus comprising: a producing mechanism to produce at least one shared key in each of the data providing device and the data receiving device, the producing mechanism comprising: a first generating mechanism to generate a first key based on a first random value in the data providing device, a second generating mechanism to generate a second key based on a second random value in the data receiving device, an exchanging mechanism to exchange the first and the second keys between the data providing device and the data receiving device via the communication mechanism, and a third generating mechanism to generate a first shared key in each of the data providing device and the data receiving device using the first and the second keys generated and exchanged; a second producing mechanism to produce a third key based on a third value in the data receiving device; a second enciphering mechanism to encipher the third key using the first shared key; a transferring mechanism to transfer the enciphered third key from the data receiving device to the data providing device, and to produce a second shared key in the data providing device, the third key in the data receiving device serving as a second shared key in the data receiving device; an enciphering mechanism to encipher copy control data read out by the data providing device using one of the at least one shared key, and transferring the enciphered copy control data to the data receiving device via the communication mechanism, the copy control data specifying a copy permission value; a deciphering mechanism to decipher the enciphered copy control data received by the data receiving device via the communication mechanism using the one of the at least one shared key; and a determining mechanism to determine to use the second shared key when the copy control data indicates that only a device used in reading the data is allowed to reproduce a copy. 